API Documentation
Public Member Functions | List of all members
nkGraphics::ProgramSourcesHolder Class Referencefinal

Holds the sources of a program. More...

Public Member Functions

 ProgramSourcesHolder ()
 
 ~ProgramSourcesHolder ()
 
std::string_view getVertexMemory () const
 
std::string_view getHullMemory () const
 
std::string_view getDomainMemory () const
 
std::string_view getGeometryMemory () const
 
std::string_view getPixelMemory () const
 
std::string_view getComputeMemory () const
 
std::string_view getRaytracingMemory () const
 
const std::vector< MacroEntry > & getDefineMacrosVertex () const
 
const std::vector< MacroEntry > & getDefineMacrosHull () const
 
const std::vector< MacroEntry > & getDefineMacrosDomain () const
 
const std::vector< MacroEntry > & getDefineMacrosGeometry () const
 
const std::vector< MacroEntry > & getDefineMacrosPixel () const
 
const std::vector< MacroEntry > & getDefineMacrosCompute () const
 
const std::vector< MacroEntry > & getDefineMacrosRaytracing () const
 
unsigned int getDefineMacroMaxNumber () const
 
unsigned int getDefineMacroMaxNumberPipeline () const
 
unsigned int getDefineMacroNumberCompute () const
 
unsigned int getDefineMacroNumberRaytracing () const
 
void setVertexMemory (const std::string_view &str)
 
void setHullMemory (const std::string_view &str)
 
void setDomainMemory (const std::string_view &str)
 
void setGeometryMemory (const std::string_view &str)
 
void setPixelMemory (const std::string_view &str)
 
void setComputeMemory (const std::string_view &str)
 
void setRaytracingMemory (const std::string_view &str)
 
void addDefineMacroVertex (const std::string_view &key, const std::string_view &value)
 
void addDefineMacroHull (const std::string_view &key, const std::string_view &value)
 
void addDefineMacroDomain (const std::string_view &key, const std::string_view &value)
 
void addDefineMacroGeometry (const std::string_view &key, const std::string_view &value)
 
void addDefineMacroPixel (const std::string_view &key, const std::string_view &value)
 
void addDefineMacroCompute (const std::string_view &key, const std::string_view &value)
 
void addDefineMacroRaytracing (const std::string_view &key, const std::string_view &value)
 
bool hasMinimalDefinitionsPipeline () const
 
bool hasMinimalDefinitionsCompute () const
 
bool hasMinimalDefinitionsGeometry () const
 
bool hasMinimalDefinitionsRaytracing () const
 
void copyDefinesFrom (const ProgramSourcesHolder &other)
 

Detailed Description

Holds the sources of a program.

Constructor & Destructor Documentation

◆ ProgramSourcesHolder()

nkGraphics::ProgramSourcesHolder::ProgramSourcesHolder ( )

Constructor.

◆ ~ProgramSourcesHolder()

nkGraphics::ProgramSourcesHolder::~ProgramSourcesHolder ( )

Destructor.

Member Function Documentation

◆ getVertexMemory()

std::string_view nkGraphics::ProgramSourcesHolder::getVertexMemory ( ) const
Returns
The set vertex stage.

◆ getHullMemory()

std::string_view nkGraphics::ProgramSourcesHolder::getHullMemory ( ) const
Returns
The set hull stage.

◆ getDomainMemory()

std::string_view nkGraphics::ProgramSourcesHolder::getDomainMemory ( ) const
Returns
The set domain stage.

◆ getGeometryMemory()

std::string_view nkGraphics::ProgramSourcesHolder::getGeometryMemory ( ) const
Returns
The set geometry stage.

◆ getPixelMemory()

std::string_view nkGraphics::ProgramSourcesHolder::getPixelMemory ( ) const
Returns
The set pixel stage.

◆ getComputeMemory()

std::string_view nkGraphics::ProgramSourcesHolder::getComputeMemory ( ) const
Returns
The set compute stage.

◆ getRaytracingMemory()

std::string_view nkGraphics::ProgramSourcesHolder::getRaytracingMemory ( ) const
Returns
The set raytracing stage.

◆ getDefineMacrosVertex()

const std::vector<MacroEntry>& nkGraphics::ProgramSourcesHolder::getDefineMacrosVertex ( ) const
Returns
The define macros set for the vertex stage.

◆ getDefineMacrosHull()

const std::vector<MacroEntry>& nkGraphics::ProgramSourcesHolder::getDefineMacrosHull ( ) const
Returns
The define macros set for the hull stage.

◆ getDefineMacrosDomain()

const std::vector<MacroEntry>& nkGraphics::ProgramSourcesHolder::getDefineMacrosDomain ( ) const
Returns
The define macros set for the domain stage.

◆ getDefineMacrosGeometry()

const std::vector<MacroEntry>& nkGraphics::ProgramSourcesHolder::getDefineMacrosGeometry ( ) const
Returns
The define macros set for the geometry stage.

◆ getDefineMacrosPixel()

const std::vector<MacroEntry>& nkGraphics::ProgramSourcesHolder::getDefineMacrosPixel ( ) const
Returns
The define macros set for the pixel stage.

◆ getDefineMacrosCompute()

const std::vector<MacroEntry>& nkGraphics::ProgramSourcesHolder::getDefineMacrosCompute ( ) const
Returns
The define macros set for the compute stage.

◆ getDefineMacrosRaytracing()

const std::vector<MacroEntry>& nkGraphics::ProgramSourcesHolder::getDefineMacrosRaytracing ( ) const
Returns
The define macros set for the raytracing stage.

◆ getDefineMacroMaxNumber()

unsigned int nkGraphics::ProgramSourcesHolder::getDefineMacroMaxNumber ( ) const
Returns
The maximum number of define macros set accross all stages.

◆ getDefineMacroMaxNumberPipeline()

unsigned int nkGraphics::ProgramSourcesHolder::getDefineMacroMaxNumberPipeline ( ) const
Returns
The maximum number of define macros set accross all relevant stages for a pipeline program.

◆ getDefineMacroNumberCompute()

unsigned int nkGraphics::ProgramSourcesHolder::getDefineMacroNumberCompute ( ) const
Returns
The maximum number of define macros set accross all relevant stages for a compute program.

◆ getDefineMacroNumberRaytracing()

unsigned int nkGraphics::ProgramSourcesHolder::getDefineMacroNumberRaytracing ( ) const
Returns
The maximum number of define macros set accross all relevant stages for a raytracing program.

◆ setVertexMemory()

void nkGraphics::ProgramSourcesHolder::setVertexMemory ( const std::string_view &  str)
Parameters
strThe sources for the vertex stage.

◆ setHullMemory()

void nkGraphics::ProgramSourcesHolder::setHullMemory ( const std::string_view &  str)
Parameters
strThe sources for the hull stage.

◆ setDomainMemory()

void nkGraphics::ProgramSourcesHolder::setDomainMemory ( const std::string_view &  str)
Parameters
strThe sources for the domain stage.

◆ setGeometryMemory()

void nkGraphics::ProgramSourcesHolder::setGeometryMemory ( const std::string_view &  str)
Parameters
strThe sources for the geometry stage.

◆ setPixelMemory()

void nkGraphics::ProgramSourcesHolder::setPixelMemory ( const std::string_view &  str)
Parameters
strThe sources for the pixel stage.

◆ setComputeMemory()

void nkGraphics::ProgramSourcesHolder::setComputeMemory ( const std::string_view &  str)
Parameters
strThe sources for the compute stage.

◆ setRaytracingMemory()

void nkGraphics::ProgramSourcesHolder::setRaytracingMemory ( const std::string_view &  str)
Parameters
strThe sources for the raytracing stage.

◆ addDefineMacroVertex()

void nkGraphics::ProgramSourcesHolder::addDefineMacroVertex ( const std::string_view &  key,
const std::string_view &  value 
)

Adds a define macro for the vertex stage.

Parameters
keyThe key of the define.
valueThe value of the define.

◆ addDefineMacroHull()

void nkGraphics::ProgramSourcesHolder::addDefineMacroHull ( const std::string_view &  key,
const std::string_view &  value 
)

Adds a define macro for the hull stage.

Parameters
keyThe key of the define.
valueThe value of the define.

◆ addDefineMacroDomain()

void nkGraphics::ProgramSourcesHolder::addDefineMacroDomain ( const std::string_view &  key,
const std::string_view &  value 
)

Adds a define macro for the domain stage.

Parameters
keyThe key of the define.
valueThe value of the define.

◆ addDefineMacroGeometry()

void nkGraphics::ProgramSourcesHolder::addDefineMacroGeometry ( const std::string_view &  key,
const std::string_view &  value 
)

Adds a define macro for the geometry stage.

Parameters
keyThe key of the define.
valueThe value of the define.

◆ addDefineMacroPixel()

void nkGraphics::ProgramSourcesHolder::addDefineMacroPixel ( const std::string_view &  key,
const std::string_view &  value 
)

Adds a define macro for the pixel stage.

Parameters
keyThe key of the define.
valueThe value of the define.

◆ addDefineMacroCompute()

void nkGraphics::ProgramSourcesHolder::addDefineMacroCompute ( const std::string_view &  key,
const std::string_view &  value 
)

Adds a define macro for the compute stage.

Parameters
keyThe key of the define.
valueThe value of the define.

◆ addDefineMacroRaytracing()

void nkGraphics::ProgramSourcesHolder::addDefineMacroRaytracing ( const std::string_view &  key,
const std::string_view &  value 
)

Adds a define macro for the raytracing stage.

Parameters
keyThe key of the define.
valueThe value of the define.

◆ hasMinimalDefinitionsPipeline()

bool nkGraphics::ProgramSourcesHolder::hasMinimalDefinitionsPipeline ( ) const
Returns
If the sources set fit for a pipeline program (used for rendering scenes or post processing). This kind of program expects at least a vertex and pixel stage.

◆ hasMinimalDefinitionsCompute()

bool nkGraphics::ProgramSourcesHolder::hasMinimalDefinitionsCompute ( ) const
Returns
If the sources set fit for a compute program. This kind of program expects at least a compute stage.

◆ hasMinimalDefinitionsGeometry()

bool nkGraphics::ProgramSourcesHolder::hasMinimalDefinitionsGeometry ( ) const
Returns
If the sources set fit for a geometry stream program. This kind of program expects at least a vertex and geometry stage.

◆ hasMinimalDefinitionsRaytracing()

bool nkGraphics::ProgramSourcesHolder::hasMinimalDefinitionsRaytracing ( ) const
Returns
If the sources set fit for a raytracing program. This kind of program expects at least a raytracing stage.

◆ copyDefinesFrom()

void nkGraphics::ProgramSourcesHolder::copyDefinesFrom ( const ProgramSourcesHolder other)

Copies the defines from one memory to another.

Parameters
otherThe memory from which the defines should be copied.

The documentation for this class was generated from the following file: